import { RouteRecordRaw } from 'vue-router'
import { HOME_URL, LOGIN_URL } from '@/core/config'
import Layout from '@/core/layout/index.vue'

// 根路由
export const rootRoute: RouteRecordRaw = [
  {
    path: '/',
    component: Layout,
    name: '/',
    redirect: HOME_URL, // path路径，<router-link name="/404"> 也是使用path进行跳转
  },
]

// admin端根路由
export const adminRoute: RouteRecordRaw = [
  {
    path: '/admin', // 路由访问路径[唯一]
    name: 'adminLayout', // 命名路由[唯一]
    component: Layout, // 登录进入这个页面，这个页面是整个布局
    redirect: HOME_URL, // path路径，<router-link name="/404"> 也是使用path进行跳转
    children: [
      {
        path: '/',
        component: Layout,
      },
      {
        path: HOME_URL, // [唯一]
        component: () => import('@/core/views/admin/welcome/index.vue'),
        meta: {
          title: '首页', // 标题
          icon: 'HomeFilled', // 图标
          isHide: '0', // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
          isLink: '', // 是否外链[有值则是外链]
          isKeepAlive: '0', // 是否缓存路由数据[0是，1否]
          isFull: '1', // 是否缓存全屏[0是，1否]
          isAffix: '1', // 是否缓存固定路由[0是，1否]
        },
      },
    ],
  },
  {
    path: '/admin/login',
    name: 'login',
    component: () => import('@/core/views/admin/login/index.vue'),
    meta: {
      title: '登录',
    },
  },
]

// home端根路由
export const homeRoute: RouteRecordRaw = [
  {
    path: '/home',
    name: 'homeLayout',
    redirect: '/home/welcome',
    children: [
      {
        path: '/',
        component: Layout,
      },
      {
        path: 'login',
        component: () => import('@/core/views/home/login/index.vue'),
        meta: {
          title: '登录',
        },
      },
    ],
  },
]

// site端根路由
export const siteRoute: RouteRecordRaw = [
  {
    path: '/site',
    name: 'siteLayout',
    component: Layout, // 登录进入这个页面，这个页面是整个布局
    redirect: '/site/welcome',
    children: [
      {
        path: '/site/welcome',
        component: () => import('@/core/views/site/welcome/index.vue'),
        meta: {
          title: '首页', // 标题
          icon: 'HomeFilled', // 图标
          isHide: '0', // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
          isLink: '', // 是否外链[有值则是外链]
          isKeepAlive: '0', // 是否缓存路由数据[0是，1否]
          isFull: '1', // 是否缓存全屏[0是，1否]
          isAffix: '1', // 是否缓存固定路由[0是，1否]
        },
      },
    ],
  },
  {
    path: '/site/login',
    component: () => import('@/core/views/site/login/index.vue'),
    meta: {
      title: '登录',
    },
  },
]

/**
 * errorRouter (错误页面路由)
 */
export const errorRouter = [
  {
    path: '/403',
    name: '403',
    component: () => import('@/core/views/error/403.vue'),
    meta: {
      title: '403页面',
      icon: 'QuestionFilled', // 菜单图标
      isHide: '0', // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
      isLink: '0', // 是否外链[有值则是外链]
      isKeepAlive: '0', // 是否缓存路由数据[0是，1否]
      isFull: '0', // 是否缓存全屏[0是，1否]
      isAffix: '0', // 是否缓存固定路由[0是，1否]
    },
  },
  {
    path: '/404',
    name: '404',
    component: () => import('@/core/views/error/404.vue'),
    meta: {
      title: '404页面',
      icon: 'CircleCloseFilled', // 菜单图标
      isHide: '0', // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
      isLink: '0', // 是否外链[有值则是外链]
      isKeepAlive: '0', // 是否缓存路由数据[0是，1否]
      isFull: '0', // 是否缓存全屏[0是，1否]
      isAffix: '0', // 是否缓存固定路由[0是，1否]
    },
  },
  {
    path: '/500',
    name: '500',
    component: () => import('@/core/views/error/500.vue'),
    meta: {
      title: '500页面',
      icon: 'WarningFilled', // 图标
      isHide: '0', // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
      isLink: '0', // 是否外链[有值则是外链]
      isKeepAlive: '0', // 是否缓存路由数据[0是，1否]
      isFull: '0', // 是否缓存全屏[0是，1否]
      isAffix: '0', // 是否缓存固定路由[0是，1否]
    },
  },
  // 找不到path将跳转404页面
  {
    path: '/:pathMatch(.*)*',
    component: () => import('@/core/views/error/404.vue'),
  },
]

// /**
//  * LayoutRouter (布局路由)
//  */
// export const layoutRouter: RouteRecordRaw[] = [
//   {
//     // 登录成功以后展示数据的路由[一级路由，可以将子路由放置Main模块中(核心)]
//     path: '/', // 路由访问路径[唯一]
//     name: 'layout', // 命名路由[唯一]
//     component: Layout, // 登录进入这个页面，这个页面是整个布局
//     redirect: HOME_URL, // path路径，<router-link name="/404"> 也是使用path进行跳转
//     children: [
//       {
//         path: HOME_URL, // [唯一]
//         component: () => import('@/app/views/admin/home/index.vue'),
//         meta: {
//           title: '首页', // 标题
//           icon: 'HomeFilled', // 图标
//           isHide: '0', // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
//           isLink: '', // 是否外链[有值则是外链]
//           isKeepAlive: '1', // 是否缓存路由数据[0是，1否]
//           isFull: '0', // 是否缓存全屏[0是，1否]
//           isAffix: '0', // 是否缓存固定路由[0是，1否]
//         },
//       },
//     ],
//   },
//   {
//     path: LOGIN_URL,
//     name: 'login',
//     component: () => import('@/app/views/admin/login/index.vue'),
//     meta: {
//       title: '登录',
//     },
//   },
// ]
//
// /**
//  * LayoutRouter (布局路由)
//  */
// export const staticRouter: RouteRecordRaw[] = [
//   /** 首页 */
//   // {
//   //   path: "/home/index", // [唯一]
//   //   component: () => import("@/views/admin/home/index.vue"),
//   //   meta: {
//   //     title: "首页", // 标题
//   //     icon: "HomeFilled", // 图标 HomeFilled
//   //     isHide: "1", // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
//   //     isLink: "", // 是否外链[有值则是外链]
//   //     isKeepAlive: "0", // 是否缓存路由数据[0是，1否]
//   //     isFull: "1", // 是否缓存全屏[0是，1否]
//   //     isAffix: "1" // 是否缓存固定路由[0是，1否]
//   //   }
//   // }
// ]
//
// /**
//  * errorRouter (错误页面路由)
//  */
// export const errorRouter = [
//   {
//     path: '/403',
//     name: '403',
//     component: () => import('@/app/views/error/403.vue'),
//     meta: {
//       title: '403页面',
//       icon: 'QuestionFilled', // 菜单图标
//       isHide: '0', // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
//       isLink: '0', // 是否外链[有值则是外链]
//       isKeepAlive: '0', // 是否缓存路由数据[0是，1否]
//       isFull: '0', // 是否缓存全屏[0是，1否]
//       isAffix: '0', // 是否缓存固定路由[0是，1否]
//     },
//   },
//   {
//     path: '/404',
//     name: '404',
//     component: () => import('@/app/views/error/404.vue'),
//     meta: {
//       title: '404页面',
//       icon: 'CircleCloseFilled', // 菜单图标
//       isHide: '0', // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
//       isLink: '0', // 是否外链[有值则是外链]
//       isKeepAlive: '0', // 是否缓存路由数据[0是，1否]
//       isFull: '0', // 是否缓存全屏[0是，1否]
//       isAffix: '0', // 是否缓存固定路由[0是，1否]
//     },
//   },
//   {
//     path: '/500',
//     name: '500',
//     component: () => import('@/app/views/error/500.vue'),
//     meta: {
//       title: '500页面',
//       icon: 'WarningFilled', // 图标
//       isHide: '0', // 代表路由在菜单中是否隐藏，是否隐藏[0隐藏，1显示]
//       isLink: '0', // 是否外链[有值则是外链]
//       isKeepAlive: '0', // 是否缓存路由数据[0是，1否]
//       isFull: '0', // 是否缓存全屏[0是，1否]
//       isAffix: '0', // 是否缓存固定路由[0是，1否]
//     },
//   },
//   // 找不到path将跳转404页面
//   {
//     path: '/:pathMatch(.*)*',
//     component: () => import('@/app/views/error/404.vue'),
//   },
// ]
